package LexicalSyntacticAnalysis.syntaxtree;
import symbol.Symbol;
import TypeChecking.TypeCheckVisitor;
import visitor.TypeVisitor;
import visitor.Visitor;
import IntermediateCodeGeneration.translate.IRTranslateVisitor;

public abstract class Exp {
  public abstract void accept(Visitor v);
  public abstract Type accept(TypeVisitor v);
  public abstract Symbol accept(TypeCheckVisitor v);
  public abstract IntermediateCodeGeneration.translate.Exp accept(IRTranslateVisitor v);
}


